package com.shop.item.atom.atomsvc;

import com.shop.common.model.ServiceBean;
import com.shop.common.model.param.item.ItemLabelInput;
import com.shop.common.model.param.item.LabelInput;
import com.shop.common.model.result.item.LabelOutput;

import java.util.List;

/**
 * @author zhoulk
 * @Description: 标签服务
 * @date: 2019年03月24日  17:06
 */

public interface ILabelAtomService {
    /**
     * @Author zhoulk
     * @Description //TODO 查询标签列表
     * @Date 20:22 2019/3/11
     *
     * @Param [labelInput]
     * @return com.shop.common.model.ResultModel<java.util.List < com.shop.common.entity.item.Label>>
     * @errorCode //TODO
     **/
    ServiceBean<List<LabelOutput>> getLabelList(LabelInput labelInput);

    /**
     * @Function com.shop.item.atom.atomsvc.IItemExtAtomService.selectLabelBySelective
     * @Description //查询标签
     *
     * @param: labelInput
     * @return com.shop.common.model.ResultModel<com.shop.common.model.result.item.LabelOutput>
     * @errorCode //TODO
     *
     * @Author zhoulk
     * @Date
     *
     **/
    ServiceBean<LabelOutput> selectLabelBySelective(LabelInput labelInput);

    /**
     * @Function com.shop.item.atom.atomsvc.IItemExtAtomService.selectLabelByNames
     * @Description //TODO 根据标签名列表批量查询标签列表
     *
     * @param: names
     * @return com.shop.common.model.ResultModel<java.util.List < com.shop.common.model.result.item.LabelOutput>>
     * @errorCode //TODO
     *
     * @Author zhoulk
     * @Date
     *
     **/
    ServiceBean<List<LabelOutput>> selectLabelByNames(List<String> names);

    /**
     * @Function com.shop.item.atom.atomsvc.ILabelAtomService.insertLabelList
     * @Description //TODO 批量插入商品标签
     *
     * @param: labelInputs
     * @return com.shop.common.model.ResultModel<java.lang.Integer>
     * @errorCode //TODO
     *
     * @Author zhoulk
     * @Date
     *
     **/
    ServiceBean<Integer> insertLabelList(List<ItemLabelInput> labelInputs);

}
